Conventionally, in the case where an image is captured by a camera with a large-diameter lens, while a remarkable subject is focused on, an appropriate blur is added on purpose to other subject that is distant from the remarkable subject. Addition of such a blur achieves an effect of accentuating the remarkable subject, making the entire image to give a soft impression, and so on (blur effect).
It has been known to be more preferable that a hidden surface effect is taken into consideration for generating an image having a blur effect added thereto. An art has been proposed for generating a blurred image by lens with use of an image generated by a calculator, in consideration of a hidden surface effect (see Patent Literature 1 for example). FIG. 17 explains a principle disclosed in Patent Literature 1.
The hidden surface effect is one type of blur effect. According to this hidden surface effect, an image of a region that cannot reach an imaging surface through the center of a lens because of being behind an object is projected onto the imaging surface due to light diffraction along an outer edge of the lens resulting from light refraction by the lens. As shown in FIG. 18, a point C1 of a subject C is positioned in a region shielded by a subject B, and accordingly an image of the point C1 cannot reach an imaging surface through the center of a lens. However, the image of the point C1 is projected onto the imaging surface by being diffracted along an outer edge of the lens.
Here, according to the art disclosed in Patent Literature 1, an input image generated based on the pinhole camera model or the like and a depth image of the input image are acquired, (FIG. 17: Processing 11), and pixels to be influenced by a blur effect are calculated (Processing 12). Then, a direction of light incident on each pixel within a blur range is calculated (Processing 13), hidden surface processing is performed for each direction of light incident on the pixel (Processing 14), and an average of results of the processing is calculated as a pixel value to be output.